OwlFocus

Spring NamedParameterJdbcTemplate

使用NamedParameterJdbcTemplate查询sql语句,并按实体返回数据。

配置NamedParameterJdbcTemplate

  • 在xml配置文件中,配置模板数据源信息。
1
2
<bean id="namedParameterJdbcTemplate" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
<constructor-arg ref="dataSource" /> </bean>

注入NamedParameterJdbcTemplate

1
@Autowired private NamedParameterJdbcTemplate namedParameterJdbcTemplate;

例子

  • sql语句中使用分号加参数名标识参数,如::ids
  • 通过MapSqlParameterSource设置查询参数。
1
2
3
4
5
6
7
8
public List<TicketDO> loadTicketProductIdByIds(Collection<Integer> ids) {
String sql="SELECT id,pid as product_id from ticket where id in(:ids)";
//参数
MapSqlParameterSource parameters = new MapSqlParameterSource();
parameters.addValue("ids", ids);
List<TicketDO> result=namedParameterJdbcTemplate.query(sql, parameters,new BeanPropertyRowMapper<TicketDO>(TicketDO.class));
return result;
}